﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SIGEB.Modelo.moduloTipoDocumentos;
using SIGEB.Modelo.moduloEditorial;

namespace SIGEB.Modelo.moduloDocumentos
{
    public class documento
    {
        #region "constructores"

        public documento()
        {
        }

        public documento(String p_codDocumento, String p_titulo, bool docVirtual, String p_descripcion, String clasificacion, String serie,
            int totales, int solicitados, int prestados, autor p_autor, editorial editorialID, tipoDocumento atributos, LinkedList<valor> valores)
        {
            this.codDocumento = p_codDocumento;
            this.autorD = p_autor;
            this.titulo = p_titulo;
            this.descriptores = p_descripcion;
            this.editorialD = editorialID;
            this.clasificacion = clasificacion;
            this.serie = serie;
            this.totales = totales;
            this.solicitados = solicitados;
            this.prestados = prestados;
            this.docVirtual = docVirtual;
            this.atributos = atributos;
            this.valores = valores;
            this.valores = valores;
        }

        #endregion

        #region "metodos"

        public int disponibles()
        {
            return totales - (solicitados + prestados);
        }

        #endregion

        #region "atributos"

        public tipoDocumento atributos;

        String _codDocumento;
        autor _autorD;
        String _titulo;
        String _descriptores;
        editorial _editorialD;
        String _clasificacion;
        String _serie;

        int _totales;
        int _solicitados;
        int _prestados;
        bool _docVirtual;  
            

        public String codDocumento
        {
            set { _codDocumento = value; }
            get { return _codDocumento; }
        }

        public autor autorD
        {
            set { _autorD = value; }
            get { return _autorD; }
        }

        public String titulo
        {
            set { _titulo = value; }
            get { return _titulo; }
        }

        public String descriptores
        {
            set { _descriptores = value; }
            get { return _descriptores; }
        }

        public editorial editorialD
        {
            set { _editorialD = value; }
            get { return _editorialD; }
        }

        public String clasificacion
        {
            set { _clasificacion = value; }
            get { return _clasificacion; }
        }

        public int totales
        {
            set { _totales = value; }
            get { return _totales; }
        }

        public int solicitados
        {
            set { _solicitados = value; }
            get { return _solicitados; }
        }

        public int prestados
        {
            set { _prestados = value; }
            get { return _prestados; }
        }

        public String serie
        {
            set { _serie = value; }
            get { return _serie; }
        }

        public bool docVirtual
        {
            set { _docVirtual = value; }
            get { return _docVirtual; }
        }

        public string idTipoDocumento;

        public LinkedList<valor> valores;

        #endregion
    }
}
